package com.jeeplus.test.jlnu.graduationInfo.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jeeplus.test.jlnu.admissionInfo.domain.entity.ImportFailLog;
import com.jeeplus.test.jlnu.graduationInfo.domain.entity.NewGraduationInfo;
import com.jeeplus.test.jlnu.graduationInfo.domain.vo.NewGraduationInfoReqVo;
import com.jeeplus.test.tools.resp.R;
import org.apache.ibatis.annotations.Param;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;
import java.util.List;

public interface NewGraduationInfoService {

    //分页查询
    Page<NewGraduationInfoReqVo> getGraduationInfoPage(NewGraduationInfoReqVo graduationInfoReqVo, Page<NewGraduationInfoReqVo> page);

    //模板下载
    ResponseEntity<byte[]> graduationTemplate(List<String> ids);

    //根据学号查询数据
    NewGraduationInfo selectByStudentId(String studentId);

    //修改数据
    void updateById(NewGraduationInfo existingRecord);

    //新增数据
    void insert(NewGraduationInfo newRecord);

    //批量修改
    int updateByIdBatch(@Param("studentIds") List<String> studentIds,
                    @Param("admissionUpdateDto") NewGraduationInfo graduationInfo);

    //批量提交
    int approval(String submitType, List<String> ids);

    //查询导入历史
    Page<ImportFailLog> getImportDataPage(int pageNum, int pagesize, Date startTime, Date endTime, String fileName);

    //添加导入记录
    void insertImportLog(ImportFailLog failLog);

    R importGraduationData(MultipartFile file);

    int batchUpdateGraduation(NewGraduationInfoReqVo newGraduationInfoReqVo);



}
